(1) Technical Field
The present invention relates to the fields of virtual reality, computer graphics, and computer vision. Specifically, but without limitation thereto, the present invention pertains to a system, method, and computer program product for immersive navigation in a virtual environment (VE) suitable for allowing a user to change a view orientation in the VE independently of physical orientation of a user input, such as orientation of the user's head. More specifically, the present invention combines three distinct virtual reality navigation metaphors (trackball navigation, grab navigation, and immersive navigation) into a hybrid navigation approach generating a final virtual-viewpoint that allows a user to view a point of interest in the VE at a plurality of orientation views while simultaneously facing comfortably forward in the physical world.
(2) Description of Related Art
Many virtual environment interfaces track a user's physical hand movement to control the placement of the actuator (i.e, user's hand, cursor, or joystick). In fully immersed virtual environments (VE), the head and often some limbs of the user being immersed in the VE are spatially tracked with six degrees of freedom. The six degrees of freedom are the X, Y, and Z coordinates of the position of the tracked body part (for example the head and a hand), and the heading, pitch, and roll of the tracked body part. The known position of the real-viewpoint, i.e., the head, is used to adjust the virtual-viewpoint of the virtual environment in the virtual world, such that turning the head to the left in the real-world environment results in the virtual-viewpoint rotation to the left in the VE. The known position of the hand in the real-world environment is used to render a virtual hand at the respective position in the VE. Thus, extending the hand one meter out from the head in the real-world results in an apparent distance of one meter of the virtual hand from the virtual-viewpoint in the VE. Therefore, in these systems, the user's reach in the VE is constrained to the physical reach of the hand. Some attempts have been made to overcome this limitation. The proposed solutions extend the user's reach in various ways but do not guarantee that the user will actually be able to reach any particular object of interest.
When interaction with a virtual environment from various distances is desired, the physical reaching distance of the hand of the user becomes an unfeasible restriction on the reaching distance in the VE. For example, when the virtual environment is an actual landscape and the user can virtually “fly above” the terrain, then he would not be able to reach to the ground if the user's altitude was higher than about one meter.
Additionally, traditional immersive navigation tracks a user in six degrees of freedom, giving the feeling that the user is immersed in the VE. Immersive navigation is natural as the user physically looks and moves around the room to traverse the VE. However, movement is limited physically by equipment, space, and body posture. Situations that require a user to look up or down for long periods result in fatigue and neck strain.
One method of allowing a user to interact with a VE is called trackball navigation. Trackball navigation allows a user to orbit an object or point of interest to study it from multiple vantage points and distances. Trackball navigation can be described by envisioning a sphere centered on the trackball center. The viewpoint is generally located on the surface of the sphere, and if the user is facing into the neutral direction in the physical world (i.e., straight ahead when seated in a fixed chair), the viewpoint is always directed towards the center of the sphere, i.e., the trackball center.
In trackball navigation, there are two operational viewpoint controls. First, the user can move around on the surface of the sphere. The user can rotate along the surface in a vertical plane (up and down), thus gaining a viewpoint more above or below the trackball center. In addition, the user can move along the surface in a horizontal plane, thus rotating around the trackball center and looking at it from east, northeast, north, etc. When rotating in the horizontal plane, the viewpoint direction may be changed accordingly (west, south west, south, etc.). Second, the user can change the radius of the sphere, which results in apparent zooming in toward and out from the trackball center.
The advantages of trackball navigation are that it closely resembles eye and hand movements of humans during manipulation of objects on a sandbox simulation. By having a multi-directional viewpoint control, the user is able to study a point of interest or object of interest from multiple angles quickly and easily. However, while trackball navigation is constrained, making it easy to control, trackball navigation is not well-suited for navigation in immersive environments. For instance, the head-tracking data, which is one aspect of an immersive environment, alone is not sufficient to determine the trackball parameters needed for trackball navigation, and head-tracking data alone does not naturally map to control the trackball parameters.
Another method of allowing a user to interact with the VE is called grab navigation. Grab navigation increases the perceived range of motion for the user since instead of moving only in the relatively small tracked area of the physical environment, the user is free to travel great distances with a move of the hand. One drawback is that grab navigation alone does not offer any control over the view orientation (virtual-viewpoint).
Using grab navigation allows the user to navigate within the virtual environment by grabbing the virtual world while making a grab-gesture with his hand. As long as the user maintains this gesture, the position in the virtual world where the user grabbed is locked into the position of the hand. Therefore, when physically moving the hand to the right, the user translates to the left in the virtual world. An analogy in a two-dimensional user interface is the “grab document” action in Adobe Reader®. Furthermore, when a user grabs the world and then lowers his hand, the apparent effect is that the world sinks away with the hand, or alternatively, that the user rises above the world.
In situation awareness systems there is a need for a system that allows a user to effectively look straight down on the virtual world while physically looking straight ahead, which is a huge advantage to situation awareness in large-scale virtual environments. In addition, there is a great need for a constrained navigation metaphor that gives super-human capabilities to the user by enabling fast access to strategic vantage points that are not ordinarily available to a user in the physical environment. However, in many virtual environments, these interfaces lead to fatigue in a relatively short time.
Therefore, there is a need for a virtual interface that allows a user to reach for objects far away without exerting himself or herself while also allowing a user to effectively look straight down on the virtual world while physically looking straight ahead comfortably in the physical world. What is needed is a system, method, and computer product which allows for immersive navigation without the draw-backs of fatigue and strain to the user, and also allows for navigation in constrained environments.
For the foregoing reasons, there is a great need in virtual environment interfaces for a system that allows a user to reach for objects far away without exerting the user and to change a view orientation in the VE independently of physical orientation of a user input, such as the orientation of the user's head, in order for the user to view a point of interest in the VE at a plurality of orientation views while simultaneously facing comfortably forward in the physical world.